package com.my.study.myvolatile;

import java.util.concurrent.atomic.AtomicInteger;

public class MyData {

    int index = 0;

    volatile int num = 0;

    /**
     * 多线程不可见(可见性)
     */
    public void addIndex() {
        this.index = 60;
    }

    /**
     * 多线程可见(可见性)
     *
     * @param index
     */
    public void addNum(int index) {
        num += index;
    }

    /**
     * 不保证原子性
     * <p>
     * 1、可加synchronized解决
     * 2、AtomicInteger(保证原子类型)
     */
    AtomicInteger atomicInteger = new AtomicInteger(0);

    public void addAtomicNum() {
        atomicInteger.getAndIncrement();
    }
}
